import axios from 'axios';
import router from '../router/index';
import {Message} from 'element-ui';
let $axios = axios.create({
  timeout: 3000
})

// 添加请求拦截器  设置请求头
$axios.interceptors.request.use(function (config) {
  //  1:先从本地获取token
  let token = localStorage.getItem('token') ? localStorage.getItem('token') : "";
   // 2:设置请求头，向服务端传递token
  config.headers.Authorization = token
  // 在发送请求之前做些什么
  return config;
}, function (error) {
  // 对请求错误做些什么，跳转到登录页，
  return router.push('/login')
});

// 添加响应拦截器
$axios.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  if (response.status == 200) {
    if(response.data.code===200){
      return response.data;
    }else if(response.data.code===401){
      const appID = "wx0321989f72146a62"; // 替换为你的微信应用 ID
      const redirect_uri = encodeURIComponent('http://192.168.0.31:8080/');
      const state = 'STATE'; // 用于安全验证，可以是任意字符串
      const url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_userinfo&state=${state}#wechat_redirect`;
      window.location.href = url;
    }else if(response.data.code===403){
      Message({message: response.data.msg, type: 'warning'})
      return Promise.reject(response);
    }
      // return 内容，否则具体的请求响应里面获取不到数据！
  } else {  // 后台服务器挂了！
    return response.data;
  }
  // 返回响应数据
  return response.data;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});

export default $axios;




